package com.example.everying.model.vo.chat;

import com.example.everying.model.dto.chat.LocationDto;
import com.example.everying.model.dto.content.ActivityArticleDto;
import com.example.everying.model.dto.content.ActivityCommentDto;
import com.example.everying.model.entity.content.ActivityApply;
import com.example.everying.model.entity.content.ActivityArticle;
import com.example.everying.model.entity.content.ActivityComment;
import com.example.everying.model.entity.order.TransferRecord;
import com.example.everying.model.entity.user.UserEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class ChatMessageVo {
    @ApiModelProperty(value = "会话ID")
    private String conversationId;
    @ApiModelProperty(value = "消息ID")
    private String id;
    @ApiModelProperty(value = "消息内容")
    private String content;
    @ApiModelProperty(value = "是否为消息发送者")
    private boolean sender;
    @ApiModelProperty(value = "发送者ID")
    private String senderId;
    @ApiModelProperty(value = "接收者ID")
    private String receiverId;
    @ApiModelProperty(value = "发送时间")
    private LocalDateTime sendTime;
    @ApiModelProperty(value = "消息接收状态: 1-已读, 2-未读, 3-已撤回")
    private String msgStatus;
    @ApiModelProperty(value = "消息状态")
    private String status;           // 1-已读 2-未读
    @ApiModelProperty(value = "消息类型")
    private String messageType;      // 消息类型
    @ApiModelProperty(value = " 消息类型 0-文本 1-图片 2-视频")
    private String type;
    @ApiModelProperty(value = "业务ID")
    private String bizId;
    @ApiModelProperty(value = "发送用户信息")
    private UserEntity senderInfo;
    @ApiModelProperty(value = "接收用户信息")
    private UserEntity receiverInfo;
    @ApiModelProperty(value = "文章信息")
    private ActivityArticle activityArticle;
    @ApiModelProperty(value = "文章申请信息")
    private ActivityApply applyVo;
    @ApiModelProperty(value = "评论信息")
    private ActivityComment commentVo;
    @ApiModelProperty(value = "上一条评论信息")
    private String lastComment;
    @ApiModelProperty(value = "位置信息")
    private LocationDto locationInfo;
    @ApiModelProperty(value = "转账信息")
    private TransferRecord record;
    @ApiModelProperty(value = "卡片信息")
    private ActivityArticleDto cardInfo;
    @ApiModelProperty(value = "是否删除0-未删除 1-删除")
    private Integer isDelete;


}
